import pytest
from api.base import Base
from setting import LOGIN_INFO
from loguru import logger
from utils.object_utils import cache


# 实现登录 : 在执行测试用例前首先会被自动调用。
@pytest.fixture(scope='session',autouse=True)
def login():
    """
    登录：请求方法，请求地址，请求体
    :return:
    """
    base = Base()
    # 1.) 登录请求接口
    login_url = base.get_url('/admin/auth/login')
    # 2.) 获取响应体
    result = base.post(login_url,LOGIN_INFO)

    # 3.）判断是否登录成功
    if not result.get('errno'):
        logger.success("请求登录接口成功")
        token = result.get('data').get('token')     # 提取token值
        cache.set('token',token)        # 存放在缓存中了
    else:
        logger.error("登录失败:{}".format(result))
    return result

